Release 10.1A: OpenEdge Development:
Progress 4GL Handbook
User interface events
Each visual object type supports a set of user interface events. You can see a list of all these events in the AppBuilder if you go into the triggers section of the Section Editor for an object and then click the New button. Each object type first supports a list of common events, such as the events for a button, shown in Figure 8–4.
Figure 8–4: Common button events
![]()
They are called common events simply because they are the events most commonly associated with an object. Each object has its own set of these events but there is a lot of overlap. For example, any object that can be part of the tab order of a frame has the
ENTRYevent, which fires when the user tabs into the object, and theLEAVEevent, which fires when the user tabs out of that object. Any object that can be the target of keystrokes (even an object like a button that doesn’t use those keystrokes to set a data value) can use theANY-KEYorANY-PRINTABLEevents to respond to them.In some cases, the most common event is one that is distinctive for that object. For example, the whole purpose of a button is for someone to click it and to have an action result. Therefore, the button supports the
CHOOSEevent, which is supported only by buttons and menu items. This is the default event that comes up in the Section Editor when you go into the triggers section for it. Data-representation objects, which can have actual values, support theVALUE-CHANGEDevent, which fires when the user enters a new value for the object.To see a complete description of all the common events, see the high-level widget events topic in the online Help.
Objects support direct manipulation events, such as
CHOOSEshown in Figure 8–5, which fire when the user performs an action (typically using the mouse) that involves selecting an object and possibly moving or resizing it. Some of these events are the result of making the objectSELECTABLE,RESIZABLE, orMOVABLE.Figure 8–5: Direct manipulation events
![]()
There is a whole host of events associated with all of the possible ways the user can make a selection with either a standard two-button mouse or a three-button mouse, such as the portable mouse events shown in Figure 8–6, that can map to either type of mouse.
Figure 8–6: Portable mouse events
![]()
Progress also supports a set of ten miscellaneous events that have no standard meaning or action, but which are intended to let you associate a trigger with some event that only happens programmatically using the
APPLYstatement, and which has nothing to do with a particular user action. These are called the developer events and are numbered U1 through U10, as shown in Figure 8–7.Figure 8–7: Developer events
![]()
These developer events have no built-in significance, but allow you to define a block of code to execute. For example, you can specify
ON U1 OFan object and then programmaticallyAPPLY “U1”to the object to execute the code.Finally, you can associate a trigger with virtually any keyboard keystroke combination, by clicking the Keyboard Event button and then typing the keystroke combination, such as CTRL+X shown in Figure 8–8.
Figure 8–8: Keyboard Event dialog box
![]()
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |